You are here: irt.org | FOLDOC | tail recursion
<programming> When the last thing a function (or procedure) does is to call itself. Such a function is called tail recursive. A function may make several recursive calls but a call is only tail-recursive if the caller returns immediately after it. E.g.
f n = if n < 2 then 1 else f (f (n-2) + 1)In this example both calls to f are recursive but only the outer one is tail recursive.
Tail recursion is a useful property because it enables tail recursion optimisation.
If you aren't sick of them already, see recursion and tail recursion.
(2006-04-16)
Nearby terms: tail call optimisation « tail call optimization « tail circuit « tail recursion » tail recursion modulo cons » tail recursion optimisation » tail-strict
FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL